package com.hzncc.flowable_diboot.excel.model;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.lang.Double;
import java.math.BigDecimal;
import java.util.List;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.diboot.core.util.D;
import com.diboot.core.util.V;
import com.diboot.file.excel.BaseExcelModel;
import com.diboot.file.excel.annotation.ExcelBindDict;
import com.diboot.file.excel.annotation.ExcelBindField;
import com.diboot.file.excel.annotation.ExcelOption;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.diboot.iam.entity.IamOrg;
import com.diboot.iam.entity.IamPosition;
import com.diboot.iam.entity.IamRole;
import com.diboot.iam.entity.IamUser;

import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
import jakarta.validation.constraints.NotNull;

import com.hzncc.flowable_diboot.entity.Equipment;


/**
* 设备 导入model定义
*
* @author MyName
* @version 1.0
* @date 2024-07-01
 * Copyright © MyCorp
*/
@Getter
@Setter
@ExcelIgnoreUnannotated
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 1)
public class EquipmentImportModel extends BaseExcelModel {
    /**
    * 机床编号
    */
    @Length(max=100, message="机床编号长度应小于100")
    @ExcelProperty(value = "机床编号")
    private String machineNumber;
    /**
    * 机床型号
    */
    @Length(max=100, message="机床型号长度应小于100")
    @ExcelProperty(value = "机床型号")
    private String machineModel;
    /**
    * 最终用户
    */
    @Length(max=100, message="最终用户长度应小于100")
    @ExcelProperty(value = "最终用户")
    private String endUser;
    /**
    * 设备名称
    */
    @Length(max=100, message="设备名称长度应小于100")
    @ExcelProperty(value = "设备名称")
    private String equipmentName;
    /**
    * 设备类型
    */
    @ExcelOption(dict = "equipmentType")
    @ExcelBindDict(type = "equipmentType")
    @ExcelProperty(value = "设备类型")
    private String equipmentType;
    /**
    * 主机厂商
    */
    @Length(max=100, message="主机厂商长度应小于100")
    @ExcelProperty(value = "主机厂商")
    private String hostFactory;
    /**
    * 单位代号
    */
    @Length(max=100, message="单位代号长度应小于100")
    @ExcelProperty(value = "单位代号")
    private String unitCode;
    /**
    * 机床类型
    */
    @ExcelOption(dict = "machineType")
    @ExcelBindDict(type = "machineType")
    @ExcelProperty(value = "机床类型")
    private String machineType;
    /**
    * 所属集团
    */
    @Length(max=100, message="所属集团长度应小于100")
    @ExcelProperty(value = "所属集团")
    private String company;
    /**
    * 所属领域
    */
    @Length(max=100, message="所属领域长度应小于100")
    @ExcelProperty(value = "所属领域")
    private String area;
    /**
    * 软件版本
    */
    @Length(max=100, message="软件版本长度应小于100")
    @ExcelProperty(value = "软件版本")
    private String softwareVersion;
    /**
    * 责任单位
    */
    @Length(max=100, message="责任单位长度应小于100")
    @ExcelProperty(value = "责任单位")
    private String responsibilityUnit;
    /**
    * 使用状态
    */
    @ExcelOption(dict = "equipmentUsageStatus")
    @ExcelBindDict(type = "equipmentUsageStatus")
    @ExcelProperty(value = "使用状态")
    private String equipmentUsageStatus;
    /**
    * 系统型号
    */
    @ExcelOption(dict = "systemType")
    @ExcelBindDict(type = "systemType")
    @ExcelProperty(value = "系统型号")
    private String systemType;
    /**
    * 系统SN号
    */
    @Length(max=100, message="系统SN号长度应小于100")
    @ExcelProperty(value = "系统SN号")
    private String macSN;
    /**
    * IPC版本
    */
    @Length(max=100, message="IPC版本长度应小于100")
    @ExcelProperty(value = "IPC版本")
    private String ipcVersion;
    /**
    * 设备操作员
    */
    @Length(max=100, message="设备操作员长度应小于100")
    @ExcelProperty(value = "设备操作员")
    private String operator;
    /**
    * 操作员联系方式
    */
    @Length(max=100, message="操作员联系方式长度应小于100")
    @ExcelProperty(value = "操作员联系方式")
    private String operatorTel;
    /**
    * 设备负责人
    */
    @Length(max=100, message="设备负责人长度应小于100")
    @ExcelProperty(value = "设备负责人")
    private String equipmentManager;
    /**
    * 设备创建人
    */
    @Length(max=100, message="设备创建人长度应小于100")
    @ExcelProperty(value = "设备创建人")
    private String creator;
    /**
    * 最后跟进时间
    */
    @Length(max=100, message="最后跟进时间长度应小于100")
    @ExcelProperty(value = "最后跟进时间")
    private String finalFollowTime;

}